layui.define(['element', 'fast_config', 'api'], function(exports) {
	"use strict";

	/**
	 * Button component
	 * */
	var MOD_NAME = 'schema',
		$ = layui.jquery,
        fast_config = layui.fast_config,
        api = layui.api,
        schemas = {
            formType:{
            }
        }
    ;

    if(typeof(domainModelForm)!=="undefined"&&!domainModelForm==null){
        schemas.formType.domain_model = domainModelForm;
    }
    if(typeof(domainModelFieldForm)!=="undefined"&&!domainModelFieldForm==null){
        schemas.formType.domain_model_field = domainModelFieldForm;
    }
    if(typeof(domainModelFieldForm)!=="undefined"&&!domainModelFieldForm==null){
        schemas.domain_file_field_primary_key = domainModelFieldForm;
    }

    var schema = {
        get : function(type){
            var typeSchema = schemas[type]
            if(!typeSchema){
                let schemaData={};
                let schemaApi = fast_config.moudle.tree.schemaApi.format({type: type});
                api.get({
                    enableRootPath: true,
                    // url: "schemas/model.json",
                    // url: "schemas/" + type,
                    url: schemaApi,
                    async: false,
                    success: function(data){
                        schemaData = data;
                        schemas[type] = data;
                    }
                });

                schema[type] = schemaData
                typeSchema = schema[type]
            }

            return typeSchema;
        },
        getResource: function (type) {
            return this.get(type);
        }
    }



    exports(MOD_NAME, schema);
});
